Chatbase有提供Facebook Message API
專門給Messenger使用
本篇還是先以直接用Python傳送訊息至Chatbase
先對使用Facebook Message API有概念後再來整合至Messenger ChatBot
1.下載Chatbase官方提供之python專案(亦可以使用Day27的專案)
github: https://github.com/google/chatbase-python
2.新增一個python檔案,並寫入程式
如果還沒有安裝過chatbase要先用pip安裝才能套用
$pip install chatbase
如果已經安裝好就可以直接進入程式的部分
from chatbase import FacebookAgentMessageSet, FacebookUserMessageSet
usrSet = FacebookUserMessageSet(api_key="BOT API", version="1")
msg = usrSet.new_message(intent="fb", message="成功")
# Don't for get to set the message, recipient and sender ids
msg.set_recipient_id("")
msg.set_sender_id("")
msg.set_message_id("")
resp = usrSet.send()
print(resp)
訊息處理與否的設定
msg.set_as_not_handled()
msg.set_as_handled()
recipient_id
sender_id
message_id
可以從之前做好的fb messenger chatbot中print出來看
如圖中 三個紅色框框
3.結果
我重新開一個Bot來確認是否有收到data,可以看出是有收到的!
而下圖訊息傳遞成功是使用這個方法(似Day27)而傳送成功的!
from chatbase import Message
msg = Message(api_key="BOT API",
type="user",
platform="Facebook",
version="1.0",
user_id="",
message="FBtest123",
intent="FB_test",
not_handled=True
)
resp = msg.send()
print(resp)
platforme改成Facebook
這邊的user_id是使用fb Messenger中的sender id
訊息也收到了